1. Field of the Invention
The present invention relates generally to software systems, and more particularly, to methods and systems for implementation of distributed data sharing systems.
2. Description of the Related Art
There are various ways to make different applications, or threads within applications, communicate with each other in Java, other programming languages, and other sources. The approach is to call a method in an application, and within the parameters of the method provide the information to be communicated to that application. If two applications have different methods there might not be a common interface available for them to communicate through. For example, Java might use Remote Method Invocation (RMI) and C might use Cobra.
A typical way to distribute data or events to a series of applications is to set up a listener interface (LI). Applications that implement the LI and register within the associated event provider will get access to all of the listeners and posters registered on the LI. The event provider is capable of generating events. Either an application calls the event provider and asks the event provider to generate an event or the event provider itself generates the event. In addition, the event provider has to know where (i.e., to what application) to distribute the events using the information gathered during registration. In the registration process, the application generally needs to define its location, its interface compliance, and its interest to read certain events.
In another approach, listeners need not pre-register with an event provider. Instead of distributing an event, clients can write events to a managed data location. A client can then access and read the event data. Similar to the above described process, one common technique is to have the managed data location function as an event provider, thus requiring clients to register. When a client writes to the managed data location, and the managed data location is responsible for delivering the data to the registered clients. Another common technique is to require clients to check the managed data location for event data. Although sharing of events is possible using a number of techniques, as described above, the management and tracking of reading activity, posting activity, and access to events stored across different managed data locations is not sufficiently defined to support robust sharing of critical data.
In view of the foregoing, there is a need for methods, systems and computer program instructions for managing reading and posting activity of events to be shared between processes and/or applications communicating across a network.